#include "fsg3d.h"

void fsg3d1(vector<int> nz,vector<float> zmin,vector<float> zmax,vector<float> pilemin,vector<float> pilemax,vector<vector<float>> &zz,vector<int> &idzmap)
{
    float deltax=(zmax[0]-zmin[0])/nz[0];
    float deltay=(zmax[1]-zmin[1])/nz[1];
    float deltath=(zmax[2]-zmin[2])/nz[3];
    float xmin=pilemin[0],xmax=pilemax[1];
    float ymin=pilemin[0],ymax=pilemax[1];
    int xn=ceil(xmax-xmin)/deltax;
    int yn=ceil(ymax-ymin)/deltay;
    vector<float> x1,y1,tth1;
    for(int i=0;i<xn;i++)
    {
        x1.push_back(xmin+deltax*i);
    }
    for(int j=0;j<yn;j++)
    {
        y1.push_back(ymin+deltay*j);
    }
    for(int i=0;i<nz[2];i++)
    {
        tth1.push_back(zmin[2]+(i+0.5)*deltath);
    }
    for(int i=0;i<xn;i++)
    {
        for(int j=0;j<yn;j++)
        {
            for(int k=0;k<nz[2];k++)
            {
                vector<float> temp={x1[i],y1[j],tth1[k]};
                zz.push_back(temp);
            }
        }
    }

}
